home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / faq / comp / 386bsd_f / part6 < prev    next >
Internet Message Format  |  1994-04-01  |  25KB

  1. Path: bloom-beacon.mit.edu!hookup!europa.eng.gtefsd.com!darwin.sura.net!howland.reston.ans.net!news.cac.psu.edu!news.pop.psu.edu!ctc.com!news.mic.ucla.edu!ux1.lmu.edu!cynjut.ogisd.ess.harris.com!jocas-al.brooks.af.mil!hrd769.brooks.af.mil!not-for-mail
  2. From: burgess@hrd769.brooks.af.mil (Dave Burgess)
  3. Newsgroups: comp.os.386bsd.announce,comp.answers,news.answers
  4. Subject: [comp.os.386bsd] BNR/2 derived BSD for PCs FAQ (Part 6 of 10)
  5. Followup-To: comp.os.386bsd.misc
  6. Date: 31 Mar 1994 21:37:44 -0000
  7. Organization: Armstrong Laboratory, Brooks AFB, TX
  8. Lines: 693
  9. Approved: news-answers-request@MIT.Edu
  10. Distribution: world
  11. Expires: 04/18/94
  12. Message-ID: <386bsd-faq-6-765149856@hrd769.brooks.af.mil>
  13. References: <386bsd-faq-1-765149856@hrd769.brooks.af.mil>
  14. Reply-To: 386bsd-faq@hrd769.brooks.af.mil (386bsd FAQ Maintainer)
  15. NNTP-Posting-Host: hrd769.brooks.af.mil
  16. Xref: bloom-beacon.mit.edu comp.os.386bsd.announce:311 comp.answers:4391 news.answers:17180
  17.  
  18. Posted-By: auto-faq 2.4
  19. Archive-name: 386bsd-faq/part6
  20.  
  21. Section 5.    (Kernel Replacements)
  22.  
  23. 5.0    Introduction
  24.  
  25.     This section is supposed to document the unusual or optional
  26.     kernel add-ons that are available from various places.  As 
  27.     they are included in the mainstream of the various Berkeley
  28.     Net Release systems, they will slowly come out of here.
  29.  
  30.     If you know of any replacement parts for the kernel, please 
  31.     send Dave Burgess (burgess@hrd769.brooks.af.mil) a message 
  32.     detailing the package (possibly include a README), where it 
  33.     can be found, and what version of the OS (ie. NetBSD, 
  34.     386bsd 0.1 + pk 0.2, FreeBSD) it was designed to run under.
  35.  
  36.     When the exact directory is not listed for a package, the
  37.     places to look on agate.berkeley.edu are in unofficial/drivers
  38.     and unofficial/from-ref/sys.extras.
  39.  
  40.     Many a goodie can be found in these directories.
  41.  
  42.  
  43. 5.1    Available Kernel Replacements
  44.  
  45.  
  46. 5.1.1    keycap/codrv
  47.  
  48.     These server as replacements for the generic pccons driver
  49.     that comes (by default) with 386bsd 0.1.
  50.  
  51.     Holger Veit (author of these) writes:
  52.  
  53.     "The same type of driver, but keycap has the version number 0.1.1
  54.     and codrv has the version number 0.1.2.  The latter is much 
  55.     improved and downward compatible.  Codrv was developed to provide
  56.     a universal way of mapping national keyboard layouts during
  57.     runtime (ie, not by patching the kernel tables) and providing
  58.     better X11 support.  Codrv uses a superset of the pc3 terminal 
  59.     emulation, and a termcap-like database for keymaps (therefore
  60.     "keycap").  X11 is supported by two dedicated console raw devices
  61.     /dev/kbd and /dev/vga, which avoids all the existing problems
  62.     pccons has with X11.  The latest version has virtual consoles.
  63.     Codrv will become part of patchkit 0.2.4"
  64.  
  65.     This package is available on agate.berkeley.edu.
  66.  
  67.     
  68.  
  69. 5.1.2    pcvt
  70.  
  71.     A superset of pccons, this driver supports virtual consoles, 
  72.     and some form of database oriented keyboard mappings.  It was
  73.     also designed to emulate a vt220 terminal as best as possible.
  74.  
  75.     Joerg Wunsch, the author of pcvt <joerg_wunsch@tcd-dresden.de>
  76.     has sent us this update.
  77.  
  78.     I've arranged irz301.inf.tu-dresden.de [141.76.4.1] as the 
  79.     `official' ftp server for the pcvt console driver, as long as 
  80.     there are several different drivers.  The stuff is under 
  81.     ~ftp/pub/unix/386bsd/pcvt, along with some recent (still 
  82.     unofficial) patches to be compatible with XFree86.  Everything 
  83.     is scheduled with the author, Hellmuth Michaelis.
  84.  
  85.     I'm not the official maintainer of that ftp site, so I must ask 
  86.     the folks there to help me.  This might delay recent changes; 
  87.     before they're merged into the official server tree, they can 
  88.     be found in ~ftp/pub/incoming/unix/386bsd.
  89.  
  90.     The Dresden University has only a thin wire to outside.  Any 
  91.     mirroring site, especially in US, would be appreciated.  The 
  92.     space requirements are less, only 2 or 3 Meg.  Maybe I'll upload 
  93.     a `generic' kernel configured with pcvt there some day.
  94.  
  95.     all the best, J"org <joerg_wunsch@uriah.sax.de>
  96.  
  97. 5.1.3    syscons
  98.  
  99.     Another superset of pccons that was designed to emulate SCO as
  100.     well as possible.  Many of the ioctls from SysV have been 
  101.     implemented.  XFree86 2.0 no longer requires special patches 
  102.     to be run with kernels using this console driver.  Available on 
  103.     agate.
  104.  
  105.  
  106. 5.1.4    Fast Symbolic Links
  107.  
  108.     The following is taken from the README for the fast sym-links
  109.     patch:
  110.  
  111.     "This cruddy but complete hack answers one of the objections to
  112.      symlinks: that they are slow, and cost an entire frag.  Symlinks
  113.      of less than length 60 are stored in the inode itself.  Symlinks
  114.      longer than this are still in the inode.  To make the illusion
  115.      of normality complete, dump and fsck also need changing.  
  116.      Additionally, I made dumpfs verbose to excess."
  117.  
  118.     Available on agate.
  119.  
  120.  
  121. 5.1.5    npx fixes
  122.  
  123.     There are problems with the floating point error handling 
  124.     routines, and there are fixes available for this problem provided
  125.     by Bruce Evans (of Minix-386 fame)
  126.  
  127.     The code for these fixes is available on agate.berkeley.edu
  128.     in unofficial/from-ref/sys.extras/bde-npx.
  129.  
  130.     Note that most of the code is applicable to floating point hardware
  131.     as opposed to emulation.
  132.  
  133.     The newest version (and now official) fixes to this are in
  134.     patchkit-0.2.4.
  135.  
  136.  
  137. 5.1.6    CGD's COM drivers
  138.  
  139.     Chris G. Demetriou (cgd@blah blah blah) has written some COM drivers
  140.     for 386bsd.  These, among other things, support multi-port serial
  141.     packages.
  142.  
  143.     The latest (and last) version is 0.2, and is available on agate
  144.     in unofficial/from-ref/sys.extras/cgd-com-ports.  Please note that
  145.     this is not going be developed any further by the author, and no 
  146.     new versions will appear.  Users who do not absolutely need the
  147.     features this provides are encouraged to use the newest drivers
  148.     that come with the patch-kits.
  149.  
  150.  
  151. 5.1.7    Tom Ivar Helbekkmo's wd.c replacement
  152.  
  153.     Tom Ivar Helbekkmo (tih@barsoom.nhh.no) has rewritten much of the
  154.     wd.c file that handles common hard disks, and added many new
  155.     features to the code.
  156.  
  157.     The patches to use these can be obtained from barsoom.nhh.no
  158.     in pub/386bsd.  Users should consult the README file for more
  159.     information.
  160.  
  161.     Also, it should be noted that NetBSD uses these drivers as their
  162.     stock drivers.
  163.  
  164.  
  165. 5.1.8    Interruptless LPT Driver Kit
  166.  
  167.     An Interruptless lpr driver kit is available from agate.berkeley.edu
  168.     in unofficial/drivers/lpt.
  169.  
  170.     This driver was designed with faster performance and lower system
  171.     load in mind.  See the INSTALL-NOTES that come with the package
  172.     for more details and installation information.
  173.  
  174.     This is also included in NetBSD and FreeBSD.  Note that with some
  175.     printers, it may be prefereable to ignore the status port and rely
  176.     on the data port.  If you have tried everything else and the
  177.     interruptless printer driver still does not work for you, you may
  178.     need to play with this.
  179.  
  180.  
  181. 5.2    Floppy Disk problems.
  182.  
  183.     One of the most common problems in 386BSD involves working with 
  184.     new boot sector and/or reformatting a floppy.  Dave Silvia 
  185.     provided this section on using floppy disks.
  186.  
  187.  
  188. 5.2.1    How do I get a bootable floppy?
  189.  
  190.     Several ways, ranging from brain-dead-but-works to simplest.  
  191.     Classification into categories is left to the reader (is there 
  192.     really a difference between 'brain-dead' and 'simple'?:')
  193.  
  194.     1) rawrite (or dd) dist.fs (or fixit.fs) to a disk,
  195.        mount it, cd to the mount point, and execute:
  196.  
  197.         rm -rf .
  198.  
  199.        you now have a bootable floppy!;^}
  200.  
  201.     2) Take your existing dist.fs or fixit.fs boot disk and
  202.        diskcopy it on a DOS machine.  Mount and rm as in 1)
  203.        above.  Again, you have a bootable floppy!;^}
  204.  
  205.     3) Run disklabel on the floppy, e.g.:
  206.  
  207.         disklabel -w -r fd0a floppy5
  208.  
  209.        where 'floppy5' is a 'name' for an entry in the /etc/disktab
  210.        file.  You'll get a couple of ioctl errors because writing a 
  211.        label to a floppy isn't supported (yet?), but the boot blocks 
  212.        have indeed been written.
  213.  
  214.     4) Write the boot blocks to the floppy:
  215.  
  216.         cat /usr/mdec/fdboot /usr/mdec/bootfd | dd of=/dev/rfd0a
  217.  
  218.        or, more simply:
  219.  
  220.         cat /usr/mdec/fdboot /usr/mdec/bootfd > /dev/rfd0a
  221.  
  222.     Methods 3) and 4) require you to run newfs on the floppy, e.g.:
  223.  
  224.     newfs /dev/rfd0a floppy5
  225.  
  226.     If you have a floppy that was originally bootable, but the boot
  227.     blocks were somehow damaged, you can use method 3) or 4) to
  228.     restore boot-ability (do _NOT_ run newfs).  You _could_, through
  229.     the convolutions of copying a floppy whose boot blocks are damaged
  230.     to a temporary location and then re-copying to a bootable floppy,
  231.     use method 1) or 2) (if you really want to!;^})
  232.  
  233.     5)  If the disk is already newfs'ed and is otherwise ready to use,
  234.     disklabel will write the boot blocks on the disk.  Read the man page
  235.     for disklabel.
  236.  
  237.  
  238. 5.2.2    How do I maximize the space on a mountable floppy disk.
  239.  
  240.     As you all know, when you are working with a floppy, it is usually
  241.     more important that the floppy have a lot of room, rather than a
  242.     lot of other 'stuff'.  Here is the magic incantation that will
  243.     maximize the amount of free space on the disk.
  244.  
  245.         newfs -Tfloppy[35] -i[4096 | 8192] -c 80 /dev/fd[0|1]a
  246.  
  247.     This leaves the disk with fewer inodes and only one cylinder group.
  248.  
  249.  
  250. 5.3    Unit Record
  251.  
  252.     These devices are also often referred to as character devices.
  253.     
  254. 5.3.1    Printers
  255.  
  256.     Configuring a parallel printer for 386bsd requires a working 
  257.     printer driver to be installed in the kernel.  386bsd 0.1 does 
  258.     not include a printer driver in the stock distribution kernel.
  259.     NetBSD and FreeBSD both include this driver in their stock 
  260.     manifestations.
  261.  
  262.     It is possible to connect a serial printer to either.  This brief
  263.     tutorial is provided by Daryl Berryhill 
  264.     (djberry2@b25info.b25.ingr.com)
  265.  
  266.     The way I got my printer to work.
  267.  
  268.     1) connect a 25 pin to 9 pin null modem cable to printer and 
  269.        computer.
  270.     2) set printer to 9600 baud, 7 data bits, even parity.
  271.     3) configure /dev/com1 (DOS COM2) port the same way as the printer
  272.     4) add a line to /etc/printcap that says:
  273.            lp|local line printer:\
  274.               :lp=/dev/com2:wq:sd=/var/spool/lpd:lf=/var/log/lpd-errs:\
  275.               :br#9600
  276.     5) type "lpr <add filename here>"
  277.     6) type "lpd"
  278.        and it should start printing.
  279.  
  280.     An obvious point, but make sure that you do NOT start a getty on 
  281.     on the com port.  Check the /etc/ttys file and make sure that 
  282.     the com port you select is not active.
  283.  
  284.  
  285. 5.3.2    Terminals/Keyboards
  286.  
  287.     Terminals are relatively simple to add.  It involves making sure the 
  288.     /etc/ttys file identifies the com port (com0, com00, or tty00 
  289.     depending on your configuration) as an active port and a getty is
  290.     running.  The man page for ttys and getty help explain this.
  291.  
  292.     Many people report that there are sometimes problems running some
  293.     programs on a remote terminal.  There are some known bugs in the
  294.     terminal handler where the parity and bits per character.
  295.  
  296.  
  297. 5.3.3    Modems
  298.  
  299.     How to add a modem to 386BSD:
  300.  
  301.     The first part that confused me was assuming that /dev/com1 is 
  302.     the same as DOS com1, they're not.  /dev/com0 is connected to 
  303.     COM1 and (I think) /dev/com1 is connected to COM2.
  304.  
  305.     The switch settings for my modem were the same as what I had 
  306.     under DOS, CTS CD RTS et al were set to follow the actual line 
  307.     (i.e. my modem can force them high, which I turn off)
  308.  
  309.     Ok that's not too bad.
  310.  
  311.     Now you need to edit the /etc/remote file to include a reference 
  312.     to the com port. I have only used NetBSD-0.8, so I'm not sure 
  313.     what the default files are like that come with the other rev's 
  314.     of 386BSD.
  315.  
  316.     I added the last line (with com0).
  317.     --------------------------------------------------------
  318.     #    @(#)remote    5.2 (Berkeley) 6/30/90
  319.     #
  320.  
  321.     ...stuff deleted...
  322.  
  323.     # UNIX system definitions
  324.     unix1200|1200 Baud dial-out to another UNIX system:\
  325.         :el=^U^C^R^O^D^S^Q:ie=%$:oe=^D:tc=dial1200:
  326.     unix300|300 Baud dial-out to another UNIX system:\
  327.         :el=^U^C^R^O^D^S^Q:ie=%$:oe=^D:tc=dial300:
  328.  
  329.     ...stuff deleted...
  330.  
  331.     dial2400|2400 Baud Hayes attributes:\
  332.             :dv=/dev/tty19:br#2400:cu=/dev/tty19:at=hayes:du:
  333.     dial1200|1200 Baud Hayes attributes:\
  334.             :dv=/dev/tty19:br#1200:cu=/dev/tty19:at=hayes:du:
  335.     
  336.     # Hardwired line
  337.     com1c|com1:dv=/dev/com1:br#9600:
  338.     com1b:dv=/dev/com1:br#2400:
  339.  
  340.     com0:com0:dv=/dev/com0:br#9600:at=hayes:
  341.     ------------------------------------------------
  342.  
  343.     Ok, now if you are running as root you can use type 'tip com0' 
  344.     and you should then be talking to your modem.  I use kermit to 
  345.     transfer files, and it wants to create a lock file in (not sure 
  346.     about the exact path) /var/spool/uucp/lock or something along 
  347.     those lines.  I made the directory world writeable so I could 
  348.     run kermit with my own uid, rather than root.
  349.  
  350.     Also, you may need to add an entry in /etc/remote for com0.
  351.  
  352.     Thanks also to thombsr@liciren.li.co.uk for information on how 
  353.     to do this.
  354.  
  355.  
  356. 5.4    Tape Drives
  357.  
  358.     This section should help out for those of you that have either
  359.     never used tape drives before, or only have experience with them
  360.     as non-Unix devices.
  361.  
  362. 5.4.1    Does the tape need to be formatted?
  363.  
  364.     It depends,   but I think usually not.  And when it is necessary,
  365.     I don't know how it would be done.  One thing is for certain, 
  366.     though, first....  NEVER use the block devices..  erase them and 
  367.     forget you ever saw them.  All operations on tape should be to 
  368.     the character device (rst0).
  369.  
  370.  
  371. 5.4.2    If I execute the command 'st -f /dev/st0 status', I get:
  372.         Archive/Tandberg? tape drive, residual=0, blocksize=512
  373.         Density: high = 16 (0x10), medium = 15 (0xf), low = 5 (0x5)
  374.         ds=0
  375.         er=0
  376.  
  377.     so to write to tape at high-density (QIC-150), presumably I want 
  378.     to use a device with minor number +4 (in st.c, density is computed as
  379.     minor >> 2 & 0x03, where low density == 3 and high == 1):
  380.  
  381.     You have the idea.. density is controlled by bits 2 and 3
  382.  
  383.         00 = default
  384.         01 = hi density
  385.         10 = medium density
  386.         11 = low density, 
  387.  
  388.     Unless the driver knows about you kind of drive the density values
  389.     may need to be set by hand before they make any sense.
  390.  
  391.  
  392. 5.4.3    When is erst0 used?
  393.  
  394.     e stands for 'eject' and is bit 1 of the minor.. 
  395.     e.g. eject on close.. many devices can't actually do this.
  396.  
  397.     There is actually a method to this whole thing:
  398.  
  399.         r = raw        (rst0)
  400.         e = eject    (erst0)
  401.         n = No rewind    (nrst0 or maybe nerst0)
  402.  
  403. 5.4.4    How is density (bpi) computed?  I am using 3M DC 6250 cassettes 
  404.     which have a 250MB capacity on the Viper 150.  But computing the 
  405.     bits/inch based on 250MB/tape-length (1020 ft.), I get a density 
  406.     of 171335 bpi, which is nowhere near the 10000 bpi associated 
  407.     with QIC-150 in the st(1) man page.  Why the discrepancy?
  408.  
  409.     These cartridge tapes are right onto the tape in narrow tracks, 
  410.     which begin at opposite ends of the tape.  Track 0 starts at the
  411.     beginning of the tape, and Track 1 starts at the other end, etc.
  412.  
  413.     So, how many times does the tape go backwards and forwards?  If 
  414.     there are 17 tracks, your density is 170000 bpi if it is 10000
  415.     bpi per track.
  416.  
  417. 5.4.5    How is an appropriate block size determined (and in what units 
  418.     are they specified in the st(1) command)?
  419.  
  420.     QIC 150 and below should stick to 512 byte blocks a write of 
  421.     1024 bytes from the program will be written as 2 512 byte blocks 
  422.     with no speed penalty.  dd will think it's writing a 1024 byte 
  423.     block but on tape it's 2 x 512.
  424.  
  425.     Stick to 512 on QIC 150 or less if you ever hope to swap data 
  426.     with anyone else.
  427.  
  428.  
  429. 5.4.6    From the 4.3BSD mtio(4) man page, it sounds like data is typically
  430.     (traditionally?) stored on tape in eof-terminated sequences of 
  431.     1K records.  
  432.  
  433. 5.4.6.1    Is st's notion of "file" the record sequence between two eof marks?  
  434.  
  435. 5.4.6.2    What about a "record"?  
  436.  
  437. 5.4.6.3    Is a "record" one "block", as determined by st's "blocksize" command?   
  438.     If not, what is the connection between them?  
  439.  
  440. 5.4.6.4    Can I change the "record" size?  
  441. 5.4.6.5    When would I want a block size that is different from the default?  
  442.     1KB is the size of writes used by dd or whatever.  QIC specifies 
  443.     512 byte records (well at least its what people use..)  Whatever 
  444.     you write in will be broken into 512 byte sections.  They must be 
  445.     multiples of 512 though.
  446.  
  447.     If you have written to a tape, a close will automatically append a 
  448.     filemark (eof mark).  You may read the 512 byte blocks back as 
  449.     512 byte records or as 1024 byte records (in which case you'll 
  450.     get 2 at once).  The bigger the unit, the more efficient.
  451.  
  452. 5.4.7a    How do I write several archives to a single tape?  I tried without 
  453.     success:
  454.         $ st -f /dev/rst4 rewind
  455.         $ tar cf /dev/nst4 archive1
  456.         $ st -f /dev/nrst4 weof
  457.         $ tar cf /dev/nst4 archive2
  458.         $ st -f /dev/nrst4 weof
  459.  
  460.     First:  throw away the block devices.
  461.  
  462.     'n' stands for 'No-Rewind-on-close' and will leave the tape 
  463.     positioned ready for another file e.g.
  464.  
  465.         tar -cf /dev/nrst0 archive1
  466.         tar -cf /dev/nrst0 archive2
  467.  
  468.  
  469. 5.4.8b    Later, I would expect to be able to access, say, archive3 via the fsf
  470.     directive to skip over the first two archives.  What is the correct
  471.     sequence?
  472.  
  473.         st -f /dev/nrst0 rewind
  474.         st -f /dev/nrst0 fsf 2
  475.         tar -xf /dev/rst0 {files}
  476.  
  477.  
  478. 5.4.9    Since the Viper 150 writes on QIC-150/120, I guess I don't need 
  479.     to worry about writing variable-length records?  How about reading 
  480.     a tape written with variable-length records.  Is this possible 
  481.     with the Viper?  If so, what's involved?
  482.  
  483.  
  484.     Who would have written it? :-)
  485.  
  486.     Presently you can't.  You`re right.  Don't worry about it.
  487.  
  488.     The new 'st' changes will change this somewhat, though.
  489.  
  490.  
  491. 5.4.10    The very scant documentation that came with my drive mentions
  492.     a "selectable buffer disconnect size," whose default is 16K.
  493.     This is evidently the "maximum number of bytes that can be 
  494.     sent over the SCSI bus during a single data transfer phase."  
  495.     What's that?  How is it connected st's "blocksize" command?  
  496.     Do I want to use 16K blocks, or might I even want to set the 
  497.     disconnect size to a higher value?
  498.  
  499.     This suggests that 32 512 blocks will be written at a time.
  500.     This jives with the tape format for some of the lower density 
  501.     cartridges (QIC-40 and 80, for example).  The tape is written 
  502.     in blocks of 32 512-byte blocks, with the last three being used
  503.     for Error Correction Codes.  
  504.  
  505.     Use dd or tar with 16 k blocks and 32 x 512 byte blocks will be 
  506.     written.
  507.  
  508. 5.4.11    What is "streaming"?  When I tar a directory of files to tape,
  509.     I notice that the tape often stops.  Streaming means it doesn't 
  510.     stop?  How would I get the viper 150 to stream using tar or cpio 
  511.     or dump?
  512.  
  513.     Use a bigger write size... (more efficient)  Try 16k blocks.
  514.  
  515.  
  516. 5.4.12    Where are all the answers to the above and related questions 
  517.     written down?  Neither on the net nor in the 4.3BSD manuals 
  518.     nor Administration text which I have could I find this stuff 
  519.     covered!
  520.  
  521.     They are in the FAQ :-)...
  522.  
  523.  
  524. 5.4.13    What else should I know?  For example, it seems that a new tape 
  525.     must stretched.  How is this done?
  526.  
  527.     Use a blowtorch and a pair of pliers;  or you can use the 
  528.     non-destructive method and run the tape through a complete fast 
  529.     forward/rewind cycle to get it tight on the spindles.
  530.  
  531.  
  532. 5.5    Network
  533. 5.6    Marc Mengel's <mengel@fnal.gov> driver list
  534.  
  535.     Well, since replies to my request for information on
  536.     drivers dried up a few weeks ago; here is the list.
  537.     I got more replies from folks wanting drivers than
  538.     from folks who'd done them.
  539.  
  540.     Hopefully this posting will inspire folks whose drivers
  541.     aren't on the list to send me information on their stuff,
  542.     and I'll add it in.
  543.  
  544.     If there is continued interest I'd be willing to turn this
  545.     over to the FAQ folks, or maintain it as a separate FAQ 
  546.     posting for comp.os.386bsd.announce or some such.
  547.  
  548.     Here is the form to submit new entries to the list:
  549.  
  550.       Driver Name:
  551.     Author's Name:
  552.    Author's Email:
  553. Devices Supported:
  554.  Number Supported:
  555.  Interrupt driven:
  556.  External Symbols:
  557.         Size info:
  558.      Availability:
  559.             Sites:
  560.         Stability:
  561.      Restrictions:
  562.          Comments:
  563.  
  564.     Here is the list received to date:
  565. -----
  566.        Driver Name: fdc
  567.      Author's Name: Jesus Monroy Jr.
  568.     Author's Email: jmonroy@netcom.com, et al. (to follow)
  569.  Devices Supported: NEC765, Intel8272
  570.   Number Supported: 8 projected (1 works now)
  571.   Interrupt driven: Y
  572.   External Symbols: (fdopen, fdclose, TBA)
  573.      Size info: (N/A (projected to add 1k to kernel))
  574.       Availability: (TBA)
  575.          Sites: (TBA)
  576.      Stability: (in BETAS)
  577.       Restrictions: (UCB Copyright)
  578.      Delivery Date: June '93
  579.  
  580. -----
  581.        Driver Name: rtc (CMOS clock)
  582.      Author's Name: Jesus Monroy Jr.
  583.     Author's Email: jmonroy@netcom.com, et al. (to follow)
  584.  Devices Supported: Motorola CMOS 16458? (must double check)
  585.   Number Supported: 1
  586.   Interrupt driven: (Y)
  587.   External Symbols: (TBA)
  588.      Size info: (N/A)
  589.       Availability: (TBA)
  590.          Sites: (TBA)
  591.      Stability: (starts 5-17-93)
  592.       Restrictions: (UCB Copyright)
  593.      Delivery Date: July '93
  594.  
  595. -----
  596.        Driver Name: QIC-40/80
  597.      Author's Name: Steve Gerakines
  598.     Author's Email: 
  599.  Devices Supported: QIC-117 (standard) through FDC
  600.   Number Supported: 1
  601.   Interrupt driven: 
  602.   External Symbols: 
  603.      Size info: 
  604.       Availability: Beta Testing.
  605.          Sites: hrd769.brooks.af.mil
  606.      Stability: 
  607.       Restrictions: 
  608.      Delivery Date: 1 Sep 93 for latest version.
  609.  
  610. -----
  611.        Driver Name: co ("codrv") console driver
  612.      Author's Name: Holger Veit
  613.     Author's Email: Holger.Veit@gmd.de
  614.  Devices Supported: Keyboard, CGA/MDA/EGA/VGA/SVGA
  615.   Number Supported: 1
  616.   Interrupt driven: Keyboard INT 1
  617.   External Symbols: coopen,coclose,coread,coselect,coioctl,comap,
  618.             pcopen,pcclose,pcread,pcwrite,pcioctl,pcmmap,
  619.             crtat, sput, getchar,putchar, and many more
  620.             
  621.      Size info: large, several modules
  622.       Availability: ftp
  623.          Sites: latest version is codrv-0.1.2-030593.tar.z (gzip)
  624.             ftp.uni-duisburg.de:/pub/unix/386bsd-0.1/unofficial/codrv
  625.             bsd386.first.gmd.de:~veit/codrv
  626.             (login with 'guest', passwd 'guest')
  627.             bsd.coe.montana.edu:/pub/codrv
  628.             agate.berkeley.edu:/pub/incoming/codrv-0.1.2-030593.tar.z
  629.      Stability: quite stable
  630.       Restrictions: BSD Copyright
  631. -----
  632.      Package Name: patchkit
  633.     Editor's Name: Rodney Grimes
  634.    Editor's Email: rgrimes@agora.rain.com 
  635.      Availability: ftp
  636.         Sites: agate.berkeley.edu, bsd.coe.montana.edu, etc.(ask archie)
  637.     Stability: Excellent
  638.      Restrictions: 
  639.      Comments: 
  640. -----
  641.        Driver Name: shlib
  642.      Author's Name: Joerg Lohse  
  643.     Author's Email: lohse@tech7.informatik.uni-hamburg.de 
  644.  Devices Supported: -
  645.   Number Supported: -
  646.   Interrupt driven: -
  647.   External Symbols: -
  648.      Size info: 
  649.       Availability: 
  650.          Sites: agate.berkeley.edu:unofficial/fromref/sys.extras
  651.      Stability: ?
  652.       Restrictions: ?
  653. -----
  654.       Driver Name: "mse"
  655.     Author's Name: Rick Macklem (patches by Eugene W. Stark)
  656.    Author's Email: rick@snowhite.cis.uoguelph.ca, stark@cs.sunysb.edu
  657. Devices Supported: Bus mouse
  658.  Number Supported: "n", where n >= 0 (but I have only 1)
  659.  Interrupt driven: Y
  660.  External Symbols: mseopen, mseclose, mseread, mseselect
  661.     Size info: text    data    bss    dec    hex
  662.            1484    72    0    1556    614
  663.      Availability: E-mail to stark@cs.sunysb.edu, FTP to cs.sunysb.edu
  664.         Sites: cs.sunysb.edu, in pub/386BSD
  665.     Stability: Sometimes generates phantom events when system is under load.
  666.      Restrictions: "Do anything, but preserve this notice" copyright.
  667. -----
  668.       Driver Name: "tw"
  669.     Author's Name: Eugene W. Stark
  670.    Author's Email: stark@cs.sunysb.edu
  671. Devices Supported: TW-523 X-10 carrier current modem for home control
  672.  Number Supported: "n", where n >= 0 (but I have only 1)
  673.  Interrupt driven: Y
  674.  External Symbols: twopen, twclose, twread, twwrite, twselect
  675.     Size info: text    data    bss    dec    hex
  676.            2944    560    0    3504    db0
  677.      Availability: E-mail to author for most recent version + s/w,
  678.             FTP not updated too frequently
  679.         Sites: cs.sunysb.edu, in pub/386BSD
  680.             (older version on agate.berkeley.edu in "from-ref")
  681.     Stability: Solid
  682.      Restrictions: BSD-style copyright.
  683. -----
  684.        Driver Name: js, Joystick
  685.      Author's Name: Juha Nurmela
  686.     Author's Email: junki@lut.fi
  687.  Devices Supported: Standard PC joysticks, LDResistors,...
  688.   Number Supported: 2, more with "tweaked" cards
  689.   Interrupt driven: No, polled with configurable timeouts, dflt 1/5 sec.
  690.   External Symbols: jsopen, jsclose, ...
  691.      Size info: ??? (very small)
  692.       Availability: mail
  693.          Sites: None
  694.      Stability: Solid (no guarantees though)
  695.       Restrictions: None whatsoever
  696.          Blah: select()able, nonblocking/blocking io.
  697. -----
  698.       Driver Name: pcvt - VT220 virtual console driver
  699.     Author's Name: Hellmuth Michaelis (and many others!)
  700.    Author's Email: hm@hcshh.hcs.de
  701. Devices Supported: MDA / CGA / EGA / VGA
  702.  Number Supported: 1
  703.  Interrupt driven: Keyboard=YES/Video=NO
  704.  External Symbols: 
  705.     Size info: ca. 64k (4 .o modules)
  706.      Availability: alt.sources, ftp from agate and others
  707.         Sites: i.e. agate.berkeley.edu
  708.     Stability: stable
  709.      Restrictions: BSD Copyright
  710.  
  711.